﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace TCU_Archivo
{
    public partial class consultaApellido1 : Form
    {
        SqlConnection con = new SqlConnection(TCU_Archivo.Properties.Settings.Default.conex);
        DataTable apellido1=new DataTable();
        SqlDataAdapter adp = new SqlDataAdapter();
        public consultaApellido1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MenuPrincipal formaSiguiente = new MenuPrincipal();
            this.Hide();
            formaSiguiente.Show(); 
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                
                if (txtnombre.Text == "")
                {
                    //MessageBox.Show("Por favor llenar los campos solicitados", "Área de Salud Grecia", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);

                    apellido1 = new DataTable();
                    SqlCommand select = new SqlCommand(" select * from Padron");
                    //select.Parameters.AddWithValue("@ID", txtnombre.Text);
                    select.Connection = con;
                    adp.SelectCommand = select;

                    adp.Fill(apellido1);
                    Grid1.DataSource = apellido1;
                }
                else{
                apellido1 = new DataTable();
                SqlCommand select = new SqlCommand(" select IDENTIFICACION,TIPO_IDENTIFICACION,NOMBRE,APELLIDO1,APELLIDO2, SEXO,FECHA_NACIMIENTO,DIRECCION,OBSERVACIONES, Estado from Padron where APELLIDO1 like '" + txtnombre.Text + "%'");
                //select.Parameters.AddWithValue("@ID", txtnombre.Text);
                select.Connection = con;
                adp.SelectCommand = select;

                adp.Fill(apellido1);
                Grid1.DataSource = apellido1;
                //MessageBox.Show("Esperamos que la iformación \n" + "sea de su ayuda", "Área de Salud Grecia", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1);

                }
                
          
            }
            catch (Exception ex)
            {
                MessageBox.Show("ERROR al conectar a la base de datos: \n" +
                    ex.Message, "Comprobar el primer apellido",
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);

            }
            //finally
            //{
            //    if (con != null)
            //    {
            //        con.Dispose();
            //    }
            //}
        }

        private void bactualizar_Click(object sender, EventArgs e)
        {
            adp.UpdateCommand = CrearUpdate();
            adp.DeleteCommand = crearDelete();
            adp.Update(apellido1);

        }

        private SqlCommand CrearUpdate()
        {
            
            SqlCommand update = new SqlCommand();
            update.Connection = con;
            update.CommandText = "Update Padron set IDENTIFICACION= @id ,TIPO_IDENTIFICACION=@t_id,NOMBRE=@nombre,APELLIDO1=@ape1,APELLIDO2=@ape2, SEXO=@sexo,FECHA_NACIMIENTO=@fecha,DIRECCION=@ebais,OBSERVACIONES=@obs where IDENTIFICACION = @id";
            update.Parameters.Add(new SqlParameter("@id", SqlDbType.NVarChar, 18, "IDENTIFICACION"));
            update.Parameters.Add(new SqlParameter("@t_id", SqlDbType.NVarChar, 100, "TIPO_IDENTIFICACION"));
            update.Parameters.Add(new SqlParameter("@nombre", SqlDbType.NVarChar, 100, "NOMBRE"));
            update.Parameters.Add(new SqlParameter("@ape1", SqlDbType.NVarChar, 100, "APELLIDO1"));
            update.Parameters.Add(new SqlParameter("@ape2", SqlDbType.NVarChar, 100, "APELLIDO2"));
            update.Parameters.Add(new SqlParameter("@sexo", SqlDbType.NVarChar, 100, "SEXO"));
            update.Parameters.Add(new SqlParameter("@fecha", SqlDbType.Date,100, "FECHA_NACIMIENTO"));
            update.Parameters.Add(new SqlParameter("@ebais", SqlDbType.NVarChar, 100, "DIRECCION"));
            update.Parameters.Add(new SqlParameter("@obs", SqlDbType.NVarChar, 500, "OBSERVACIONES"));


            return update;
        }

        private SqlCommand crearDelete()
        {


            SqlCommand delete = new SqlCommand();
            delete.CommandText = "delete Padron where IDENTIFICACION= @id ";
            delete.Connection = con;
            delete.Parameters.Add(new SqlParameter("@id", SqlDbType.NVarChar, 18, "IDENTIFICACION"));
            return delete;
        }

        private void btnuevo_Click(object sender, EventArgs e)
        {
            consultaApellido1 formaSiguiente = new consultaApellido1();
            this.Hide();
            formaSiguiente.Show();
        }

      
    }
}
